<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ClassePhpMailer
 *
 * @author thiago
 */
require_once 'phpMailer/class.phpmailer.php';
require_once 'phpMailer/class.smtp.php';

class ClassePhpMailer extends PHPMailer {

  public function getCharSet() {
    return $this->CharSet;
  }

  public function setCharSet($CharSet) {
    $this->CharSet = $CharSet;
  }

  public function getSMTPSecure() {
    return $this->SMTPSecure;
  }

  public function setSMTPSecure($SMTPSecure) {
    $this->SMTPSecure = $SMTPSecure;
  }

  public function getPort() {
    return $this->Port;
  }

  public function setPort($Port) {
    $this->Port = $Port;
  }

  public function getHost() {
    return $this->Host;
  }

  public function setHost($Host) {
    $this->Host = $Host;
  }

  public function getSMTPAuth() {
    return $this->SMTPAuth;
  }

  public function setSMTPAuth($SMTPAuth) {
    $this->SMTPAuth = $SMTPAuth;
  }

  public function getUsername() {
    return $this->Username;
  }

  public function setUsername($Username) {
    $this->Username = $Username;
  }

  public function getPassword() {
    return $this->Password;
  }

  public function setPassword($Password) {
    $this->Password = $Password;
  }

  public function getFrom() {
    return $this->From;
  }

  public function setFrom($From) {
    $this->From = $From;
  }

  public function getFromName() {
    return $this->FromName;
  }

  public function setFromName($FromName) {
    $this->FromName = $FromName;
  }

  public function getAddAddress() {
    return $this->AddAddress;
  }

  public function setAddAddress($AddAddress) {
    $this->AddAddress = $AddAddress;
  }

  public function getIsHTML() {
    return $this->IsHTML;
  }

  public function setIsHTML($IsHTML) {
    $this->IsHTML = $IsHTML;
  }

  public function getSubject() {
    return $this->Subject;
  }

  public function setSubject($Subject) {
    $this->Subject = $Subject;
  }

  public function getBody() {
    return $this->Body;
  }

  public function setBody($Body) {
    $this->Body = $Body;
  }

  public function getAltBody() {
    return $this->AltBody;
  }

  public function setAltBody($AltBody) {
    $this->AltBody = $AltBody;
  }
  
  
  public function enviarEmail() {
    $enviado = $this->Send();
  }

  public function __destruct() {
    // Limpa os destinatários e os anexos

    $this->ClearAllRecipients();
    $this->ClearAttachments();
  }

  public function __construct($destinatario, $assunto, $campo_texto_email) {

// Define os dados do servidor e tipo de conexão
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    $this->IsSMTP(); // Define que a mensagem será SMTP
    $this->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
    $this->SMTPSecure = "ssl";
    $this->Port = 465;
    $this->Host = "smtp.gmail.com"; // Endereço do servidor SMTP

    if (Autenticao::getUsuario() != "" || Autenticao::getPassword() != "") {
      $this->Username = Autenticao::getUsuario(); // Usuário do servidor SMTP
      $this->Password = Autenticao::getPassword(); // Senha do servidor SMTP
    }
    else{
      throw new Exception("Usuário não conectado. ");
    }

// Define o remetente
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    $this->From = $destinatario; // Seu e-mail
    $this->FromName = $destinatario; // Seu nome
// Define os destinatário(s)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    $this->AddAddress('thiagorthomaz@hotmail.com', 'Thiago');

    $this->IsHTML(true); // Define que o e-mail será enviado como HTML32
    //$this->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional)
    //Define a mensagem (Texto e Assunto)
    //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

    $this->Subject = $assunto; // Assunto da mensagem
    $this->Body = $campo_texto_email;
    $this->AltBody = $this->Body;



// Define os anexos (opcional)
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//$this->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo
// Envia o e-mail

    $enviado = $this->Send();

// Exibe uma mensagem de resultado

    if ($enviado) {
      echo "E-mail enviado com sucesso!";
    } else {
      echo "Não foi possível enviar o e-mail.<br /><br />";
      echo "<b>Informações do erro:</b> <br />" . $this->ErrorInfo;
    }
  }

}

?>